// Author: Bjorn Schobben

#ifndef SCORE_H
#define SCORE_H

#include <string>

class Score
{
public:
	//Constructors
	Score();
	Score(const Score& rhs);
	
	//Destructor
	~Score();

	//Operations on the name
	void SetName(const std::string newName);	
	const std::string& GetName(void) const;
	
	//Operations on the color count
	void SetColorCount(const unsigned int newColorCount);	
	const unsigned int GetColorCount(void) const;
	
	//Operations on the time
	void SetTime(const unsigned int newTime);
	const unsigned int GetTime(void) const;
	
	//Operations on the step count
	void SetStepCount(const unsigned int newStepCount);	
	const unsigned int GetStepCount(void) const;
	
	//Overloaded operators for scores
	bool operator==(const Score& rhs) const;
	bool operator<(const Score& rhs) const;
	
private:
	//Name of the player of the highscore
	std::string name;
	//The amount of colors used to complete the game
	unsigned int colorCount;
	//The time needed to complete the game
	unsigned int time;
	//The amount of steps needed to complete the game
	unsigned int stepCount;
};

#endif //SCORE_H